package com.eschool.service.impl;

import java.util.concurrent.atomic.AtomicInteger;

public class ShortUniqueId {
    private static final AtomicInteger counter = new AtomicInteger();

    public static String generate() {
        // 时间戳部分（Base36编码，自动补零）
        String timestamp = Long.toString(System.currentTimeMillis()/1000, 36);

        // 序列号部分（0-1295循环）
        int seq = counter.updateAndGet(i -> (i < 1295) ? i + 1 : 0);

        // 组合并格式化（修复关键错误点）
        return String.format("%6s%2s%2s",   // <- 移除格式符中的"0"标志
                        timestamp,
                        Integer.toString(seq/36, 36),
                        Integer.toString(seq%36, 36))
                .replace(' ', '0')          // 空格替换为0
                .replaceAll("-", "0");      // 处理负数符号
    }
}